<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- designer-manual.qdoc -->
  <title>Qt Designer's Signals and Slots Editing Mode | Qt设计师手册</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.12</a></td><td ><a href="qtdesigner-manual.html">Qt设计师手册</a></td><td ><font style="vertical-align: inherit;">Qt Designer 的信号和槽编辑模式</font></td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtdesigner-manual.html">Qt 5.12.3 参考指南</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
  <link rel="prev" href="designer-layouts.html" />
  <link rel="next" href="designer-buddy-mode.html" />
<p class="naviNextPrevious headerNavi">
<a class="prevPage" href="designer-layouts.html">在Qt设计师中使用布局</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="designer-buddy-mode.html"><span lang="zh-cn">Qt的伙伴编辑模式</span></a>
</p><p/>
<div class="sidebar">
<div class="toc">
<h3><a name="toc">目录</a></h3>
<ul>
<li class="level1"><a href="file:///E:/_Personal/Qt5.12-Document-Trans-in-Chinese/qtdesigner/designer-connection-mode.html#connecting-objects"><font style="vertical-align: inherit;">连接对象</font></a></li>
<li class="level1"><a href="file:///E:/_Personal/Qt5.12-Document-Trans-in-Chinese/qtdesigner/designer-connection-mode.html#editing-and-deleting-connections"><font style="vertical-align: inherit;">编辑和删除连接</font></a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title"><font style="vertical-align: inherit;">Qt Designer 的信号和槽编辑模式</font></h1>
<span class="subtitle"></span>
<!-- $$$designer-connection-mode.html-description -->
<div class="descr"> <a name="details"></a>
<p class="centerAlign"><img src="images/designer-connection-mode.png" alt="" /></p><p><font style="vertical-align: inherit;">在</font><i><font style="vertical-align: inherit;">Qt Designer</font></i><font style="vertical-align: inherit;">的信号和槽编辑模式下，您可以使用 Qt 的信号和槽机制将表单中的对象连接在一起。小部件和布局都可以通过直观的连接界面连接，使用</font><i><font style="vertical-align: inherit;">Qt Designer</font></i><font style="vertical-align: inherit;">提供的兼容信号和槽菜单。保存表单后，所有连接都会保留，以便在构建项目时可以使用。</font></p>
<p><font style="vertical-align: inherit;">有关 Qt 的信号和 sltos 机制的更多信息，请参阅</font><a href="file:///E:/_Personal/Qt5.12-Document-Trans-in-Chinese/qtdoc/exceptionsafety.html#signals-and-slots"><font style="vertical-align: inherit;"><span lang="zh-cn">信号和槽</span></font></a><font style="vertical-align: inherit;">文档。</font></p>
<a name="connecting-objects"></a>
<h2 id="connecting-objects"><span lang="zh-cn">连接对象</span></h2>
<p><font style="vertical-align: inherit;">要开始连接对象，请打开“</font><b><font style="vertical-align: inherit;">编辑”</font></b><font style="vertical-align: inherit;">菜单并选择“</font><b><font style="vertical-align: inherit;">编辑信号/槽</font></b><font style="vertical-align: inherit;">”或按</font><b><font style="vertical-align: inherit;">F4</font></b><font style="vertical-align: inherit;">键，进入信号和槽编辑模式。</font></p>
<p><font style="vertical-align: inherit;">表单上的所有小部件和布局都可以连接在一起。但是，spacers 只是为布局提供间距提示，因此它们不能连接到其他对象。</font></p>
<a name="highlightedobjects"></a><div class="table"><table class="generic">
 <tr valign="top" class="odd"><td ><img src="images/designer-connection-highlight.png" alt="" /></td><td ><b><font style="vertical-align: inherit;">突出显示的对象</font></b><p><font style="vertical-align: inherit;">当光标位于可用于连接的对象上时，该对象将突出显示。</font></p>
</td></tr>
</table></div>
<p><font style="vertical-align: inherit;">要进行连接，请按鼠标左键并将光标拖向要连接的对象。执行此操作时，一条线将从源对象延伸到光标。如果光标位于表单上的另一个对象上，则该行将以指向目标对象的箭头结束。这表示当您释放鼠标按钮时，将在两个对象之间建立连接。</font></p>
<p><font style="vertical-align: inherit;">在拖动连接路径时，您可以随时通过按</font><b><font style="vertical-align: inherit;">Esc</font></b><font style="vertical-align: inherit;">放弃连接。</font></p>
<a name="makingaconnection"></a><div class="table"><table class="generic">
 <tr valign="top" class="odd"><td ><img src="images/designer-connection-making.png" alt="" /></td><td >
	 <b><font style="vertical-align: inherit;">建立<span lang="zh-cn">连接</span></font></b><p><font style="vertical-align: inherit;">当光标在窗体上移动时，连接路径将改变其形状。当它经过对象时，它们会突出显示，表明它们可以用于信号和插槽连接。释放鼠标按钮以建立连接。</font></p>
</td></tr>
</table></div>
<p><font style="vertical-align: inherit;">将显示</font><b><font style="vertical-align: inherit;">配置连接</font></b><font style="vertical-align: inherit;">对话框（下方），显示您可以使用的来自源对象的信号和来自目标对象的槽。</font></p>
<p class="centerAlign"><img src="images/designer-connection-dialog.png" alt="" /></p><p><font style="vertical-align: inherit;">要完成连接，请从源对象中选择一个信号并从目标对象中选择一个槽，然后单击</font><b><font style="vertical-align: inherit;">OK</font></b><font style="vertical-align: inherit;">。如果您希望放弃连接，请单击</font><b><font style="vertical-align: inherit;">取消</font></b><font style="vertical-align: inherit;">。</font></p>
<p><b><font style="vertical-align: inherit;">注意：</font></b><font style="vertical-align: inherit;">如果选中</font><b><font style="vertical-align: inherit;">显示所有信号和槽</font></b><font style="vertical-align: inherit;">复选框，将显示来自源对象的所有可用信号。否则，从</font><a href="file:///E:/_Personal/Qt5.12-Document-Trans-in-Chinese/qtwidgets/qwidget.html"><font style="vertical-align: inherit;">QWidget</font></a><font style="vertical-align: inherit;">继承的信号和槽将被隐藏。</font></p><p><font style="vertical-align: inherit;">您可以根据需要在表单上的对象之间建立任意数量的连接；可以将来自对象的信号连接到表单本身的槽。因此，许多对话框中的信号和槽连接可以在</font><i><font style="vertical-align: inherit;">Qt 设计器中</font></i><font style="vertical-align: inherit;">完全配置。</font></p>
<a name="connectingtotheform"></a><div class="table"><table class="generic">
 <tr valign="top" class="odd"><td ><img src="images/designer-connection-to-form.png" alt="" /></td><td ><b><font style="vertical-align: inherit;">连接到表单</font></b><p><font style="vertical-align: inherit;">要将对象连接到表单本身，只需将光标放在表单上并释放鼠标按钮。连接的终点变为电气“接地”符号。</font></p>
</td></tr>
</table></div>
<a name="editing-and-deleting-connections"></a>
<h2 id="editing-and-deleting-connections">编辑和删除连接</h2>
<p><font style="vertical-align: inherit;">默认情况下，连接路径创建有两个标签，显示连接中涉及的信号和插槽。这些标签通常沿连接线定向。您可以通过拖动连接路径两端的红色方块在其主机小部件内移动它们。</font></p>
<a name="connectioneditor"></a><div class="table"><table class="generic">
 <tr valign="top" class="odd"><td ><img src="images/designer-connection-editor.png" alt="" /></td><td ><b><font style="vertical-align: inherit;">信号/槽编辑器</font></b><p><font style="vertical-align: inherit;">连接中使用的信号和槽在建立后可以更改。配置连接后，它会在</font><i><font style="vertical-align: inherit;">Qt Designer</font></i><font style="vertical-align: inherit;">的信号和槽编辑器中可见，可以在其中进一步编辑。您还可以通过双击连接路径或其标签之一以显示连接对话框来编辑信号/槽连接。</font></p>
</td></tr>
</table></div>
<a name="deletingconnections"></a><div class="table"><table class="generic">
 <tr valign="top" class="odd"><td ><img src="images/designer-connection-editing.png" alt="" /></td><td ><b><font style="vertical-align: inherit;">删除连接</font></b><p><font style="vertical-align: inherit;">可以通过单击任何路径段来选择整个连接。选择后，可以使用</font><b><font style="vertical-align: inherit;">Delete</font></b><font style="vertical-align: inherit;">键删除连接，确保不会在 UI 文件中设置它。</font></p>
</td></tr>
</table></div>
</div>
<!-- @@@designer-connection-mode.html -->
<p class="naviNextPrevious footerNavi">
<a class="prevPage" href="designer-layouts.html">在Qt设计师中使用布局</a>
<span class="naviSeparator">  &#9702;  
<a class="nextPage" href="designer-buddy-mode.html"><span lang="zh-cn">Qt的伙伴编辑模式</span></a></span>
</p>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
